/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.itsc.dswII.bl;

import java.util.ArrayList;
import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import mx.itsc.dswII.dao.OfertaDaoLocal;
import mx.itsc.dswII.ennumeracionl.EstadoTransaccion;
import mx.itsc.dswII.model.Oferta;

/**
 *
 * @author Lenovo-user
 */
@Stateless
public class OfertaBl implements OfertaBlLocal {
    @EJB
    private OfertaDaoLocal ofertaDao;
@Override
    public EstadoTransaccion register(Oferta oferta) {
         if (ofertaDao.findDuplicity(oferta)) {
            //no se pudo hacer
            return EstadoTransaccion.INCOMPLETO;
        } else {
            ofertaDao.create(oferta);
            // ya lo hizo
            return EstadoTransaccion.COMPLETO;

        }
    }
 @Override
    public EstadoTransaccion modify(Oferta oferta) {
        if (oferta.getId() == null || ofertaDao.find(oferta.getId()) == null) {
            return EstadoTransaccion.INCOMPLETO;
        } else {
            ofertaDao.edit(oferta);
            return EstadoTransaccion.COMPLETO;
        }

    }

    @Override
    public EstadoTransaccion remove(Oferta oferta) {

        if (ofertaDao.find(oferta.getId()) == null || oferta.getId() == null) {

            return EstadoTransaccion.INCOMPLETO;
        } else {
            ofertaDao.remove(oferta);
            return EstadoTransaccion.COMPLETO;
        }

    }
    
    @Override
    public List<Oferta> getAll() {
        return ofertaDao.findAll();
    }
    // Add business logic below. (Right-click in editor and choose
    // "Insert Code > Add Business Method")

    @Override
    public Oferta getOfertaById(int idOferta) {
        return ofertaDao.find(idOferta);
    }

    public List<Oferta> getListByNombre(Oferta oferta) {
        List<Oferta> ofertaList = ofertaDao.findByOferta(oferta);
        List<Oferta> finalOfertaList = new ArrayList<Oferta>();
        
        for (Oferta emp : ofertaList) {
            finalOfertaList.add(emp);
        }
        return finalOfertaList;
    }
    
}
